This invention relates generally to computer program applications and more particularly to providing a method of providing an application development environment using the hypertext markup language (HTML).
As is known in the art, one type of interface by which a user may access information over the intemet or an intranet is a so called web browser. A web browser typically provides a graphical interface and allows a user navigate or "browse" the internet using a hypertext information and communication system (i.e. the world wide web). One such well known browser is the Netscape browser developed by Netscape Communications Corporation. Thus, any computer with a network connection to the internet may potentially be accessed by a user with a computer also connected to the internet and running a web browser.
The proliferation of use of the internet, and its cousins intranets and extranets, has led to the development of more sophisticated "web" based applications. That is, applications are being developed which utilize the industry standard browsers to provide a user interface to sophisticated applications. One example of an internet based application is the storage system management application described in a patent application entitled "Non-hierarchical Application Interface for HTML-based Network Storage Management Programs", by Osmond, et al., application Ser. No. 08/775,034, filed on Dec. 30, 1996 and assigned to the assignee of the present application.
As is known in the art, application programs which are developed using high level programming languages (e.g. the C programming language) are often written in a modular fashion. That is, a large application will generally be broken down into smaller applications, functions, or modules which may be compiled separately and are thus easier to manage during development and debug. After compilation, the many object files corresponding to the source language modules are then linked together to provide a single executable file (i.e. the application).
One problem associated with developing application programs, especially large scale application programs, is the need for the developer to be consistent when using constants. Another problem arises from the need to develop portable programs which may be used on computers with different operating systems. In the "C" programming language, these problems are addressed by the so called "C-preprocessor". The C-preprocessor is an integral part of the C compiler and provides a way for developers to define constants, both positively and conditionally, in order to provide consistency and portability. The C-preprocessor is described in detail in Stephen G. Kochran, "Programming in C", Indianapolis, Ind.: Hayden Books, 1987. In general, the C-preprocessor provides a set of special commands that allow developers to assign names to constants that may then be used throughout the program to refer to the constant. The naming of constants may be done conditionally as well as absolutely.
The HTML language is basically a set of instructions which are used to create an ASCII text document. The instructions, when read by a browser, define how a particular screen or "page" will look when displayed by the browser. By nature, HTML does not provide a rich programming environment like C or other high level programming languages provide. Thus, development and maintenance of web-based applications can become unwieldy. Consider an application that has several dozen different screens or pages which provide the user interface. Then consider the same interface being adapted to variants of the same application. In order to change a constant value or a file pointer (e.g. URL address) for the applications, it may be necessary to individually edit dozens of files individually. Thus the probability for error becomes greater and as such development times increase dramatically. It would be advantageous therefore to provide a development environment for web-based application interfaces which have the richness of typical high level applications programs.